{# Toast / snackbar driven by sessionStorage. Survives page reloads: the trigger writes a message to storage just before reloading, and the snackbar reads it on mount and clears the key. Trigger contract (from any Alpine component, or plain JS): window.appFlashSnackbar('Project saved'); window.location.reload(); The snackbar reads once, clears, shows. Auto-fades after TTL_MS (4s). Manual X dismisses immediately. Bottom-right placement so it never collides with page content; mobile drops to bottom-full-width via responsive padding. Included by base.html, so every page extending it gets the toast surface. #}